A Machine Learning Approach for Developing Test Oracles for Testing Scientific Software
نویسندگان
چکیده
Absence of test oracles is the grand challenge for testing complex scientific software. Metamorphic testing is the novel technique for developing test oracles on metamorphic relations. Although it is easy to find metamorphic relations based on general guidelines and domain knowledge, the ones that can adequately test the software are difficult to be developed. This paper introduces a machine learning approach for iteratively developing metamorphic relations. The approach develops initial metamorphic relations and tests first, and then the relations and tests are refined through mining the initial test execution and evaluation results with machine learning algorithms. The approach and its effectiveness are illustrated through testing an open source discrete dipole approximation program. Keywords-metamorphic testing, metamorphic relation, test oracle, scientific software, machine learning.
منابع مشابه
A Machine Learning Based Framework for Verification and Validation of Massive Scale Image Data
Big data validation and system verification are crucial for ensuring the quality of big data applications. However, a rigorous technique for such tasks is yet to emerge. During the past decade, we have developed a big data system called CMA for investigating the classification of biological cells based on cell morphology that is captured in diffraction images. CMA includes a group of scientific...
متن کاملPredicting metamorphic relations for testing scientific software: a machine learning approach using graph kernels
Comprehensive, automated software testing requires an oracle to check whether the output produced by a test case matches the expected behavior of the program. But the challenges in creating suitable oracles limit the ability to perform automated testing in some programs, and especially in scientific software. Metamorphic testing is a method for automating the testing process for programs withou...
متن کاملEmpirical Evaluation of Approaches to Testing Applications without Test Oracles
Software testing of applications in fields like scientific com-puting, simulation, machine learning, etc. is particularlychallenging because many applications in these domains haveno reliable “test oracle” to indicate whether the program’soutput is correct when given arbitrary input. A commonapproach to testing such applications has been to use a“pseudo-oracle”, in which...
متن کاملAutomatic Detection of Defects in Applications without Test Oracles
In application domains that do not have a test oracle, such as machine learning and scientific computing, quality assurance is a challenge because it is difficult or impossible to know in advance what the correct output should be for general input. Previously, metamorphic testing has been shown to be a simple yet effective technique in detecting defects, even without an oracle. In metamorphic t...
متن کاملMultiple-implementation Testing of Supervised Learning Software by Oreoluwa Alebiosu
Machine Learning (ML) software, used to implement an ML algorithm, is widely used in many application domains such as financial, business, and engineering domains. Faults in ML software can cause substantial losses in these application domains. Thus, it is very critical to conduct effective testing of ML software to detect and eliminate its faults. However, testing ML software is difficult, esp...
متن کامل